package com.yuchuang.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yuchuang.model.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 *@authoe    :cy
 *@date      :14:03 2023-04-25
 *description:
 @Component
 最普通的组件，可以被注入到spring容器进行管理
 @Repository
 作用于持久层
 @Service
 作用于业务逻辑层
 @Controller
 作用于表现层(spring-mvc的注解)

 @Controller 注解的bean会被spring-mvc框架所使用。
 @Repository 会被作为持久层操作(数据库)的bean来使用
 如果想使用自定义的组件注解，那么只要在你定义的新注解中加上@Component即可：
  *return     :
 **/
@Repository
public interface UserMapper extends BaseMapper<User> {
    int selectBatis();
    User getUserImlBatis(Map<String,Object> params);
    List<User> queryAllImplBatis(@Param(Constants.WRAPPER) Wrapper queryWrapper);
    int insertImplBatis(User user);
    int updateImplBatis(Map<String,Object> params);
    int deleteImplBatis(Map<String,Object> params);
    IPage<User> selectPageVoMapper(IPage<User> page,  @Param(Constants.WRAPPER) Wrapper queryWrapper);
}
